﻿using System;
using CellularAutomation.Core;

namespace CellularAutomation.IView
{
	public class CellStateChangedEventArgs : EventArgs
	{
		private readonly bool _oldState;
		public bool OldState { get { return _oldState; } }
		
		private readonly bool _newState;
		public bool NewState { get { return _newState; } }

		protected readonly GridPoint _position;
		public virtual GridPoint Position {get {return _position;}}

		public CellStateChangedEventArgs(bool oldState, bool newState, int x, int y)
		{
			this._oldState = oldState;
			this._position = new GridPoint(x, y);
			this._newState = newState;
		}
		
	}
}